package com.sbtr.business.feature.service;

import com.sbtr.business.feature.dto.FeOperatorExecDto;
import com.sbtr.business.feature.dto.FeOperatorExecExploreDto;
import com.sbtr.business.feature.dto.FeOperatorTreeDto;
import com.sbtr.business.feature.entity.FeOperator;
import com.sbtr.business.feature.dto.FeOperatorDto;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sbtr.common.PageDto;

import java.lang.reflect.InvocationTargetException;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

/**
 * 特征算子字段列表 Service接口
 *
 * @author dgl
 * @since  2023-03-27
 */
public interface FeOperatorService extends IService<FeOperator> {

     PageDto<FeOperator> pageList(FeOperatorDto FeOperatorDto);

     /**
      * 获取树结构算子
      *
      * @return
      */

     List<FeOperatorTreeDto> getTree(Long canvasId);

     /**
      * 执行算子
      * @param feOperatorExecDto
      * @return
      */
     List<LinkedHashMap<String, String>> exec(FeOperatorExecDto feOperatorExecDto);
     Object execExplore(FeOperatorExecExploreDto feOperatorExecExploreDto) throws InvocationTargetException, IllegalAccessException;
}
